def get_grade(score):
    """
    根据分数返回成绩等级（优良差划分）
    :param score: 分数（0-100）
    :return: 等级字符串
    """
    # 验证分数范围
    if not isinstance(score, (int, float)):
        raise TypeError("分数必须是数字类型")
    
    if score < 0 or score > 100:
        return "无效分数（请输入0-100之间的数值）"
    
    # 优良差等级划分（可根据需求调整区间）
    if score >= 85:
        return "优秀"
    elif score >= 60:
        return "良好"
    else:
        return "差"

def main():
    """主程序：接收用户输入并输出等级"""
    print("===== 成绩等级评定系统 =====")
    
    while True:
        # 获取用户输入
        user_input = input("\n请输入分数（0-100，输入'q'退出）：")
        
        # 退出条件
        if user_input.lower() == 'q':
            print("感谢使用，再见！")
            break
        
        # 处理输入并计算等级
        try:
            score = float(user_input)
            grade = get_grade(score)
            print(f"\n分数：{score} → 等级：{grade}")
        except ValueError:
            print("输入错误！请输入有效的数字或'q'退出。")

# 运行程序
if __name__ == "__main__":
    main()